package 循环;

import java.util.HashSet;

/**
 * @author:zhengyilong
 * @email:1797344574@qq.com
 * @phone:13479394730
 * @desc:
 * @DateTime:2022/3/27 14:23
 **/

/**
 * 一个字符串的非空子串是指字符串中长度至少为1的连续的一段
 * 字符组成的串。例如，字符串 aaab有非空子串 a, b, aa, ab,
 * aaa, aab, aaab一共 7个。注意在计算时，只算本质不同的串的个数。
 * 请问，字符串 0100110001010001有多少个不同的非空子串？
 */
public class Demo7 {

    public static void main(String[] args) {

        String sum = "0100110001010001";
        HashSet hashSet = new HashSet();

        for (int i = 0;i<sum.length();i++){
            for (int j = i;j<sum.length();j++){
                //sum.substring含头不含尾
                String substring = sum.substring(i, j+1);
                hashSet.add(substring);
            }
        }

        System.out.println(hashSet.size());

    }

}

